home *** CD-ROM | disk | FTP | other *** search
/ Compute! Gazette 1986 November / 1986-11.d64 / polar art (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  3KB  |  57 lines

  1. 10 f=2*(NULL):xs=160:ys=100:sf=.73:bc=0:cc=1:pr=49152:cb=49365:cn=49408:p=49438
  2. 20 dc=54272:cl$=chr$(147):printcl$:poke53280,0:poke53281,0
  3. 30 fori=prtopr+308:readd:pokei,d:next:fori=1to3:readd$(i):next
  4. 40 print"[147]"tab(14)"[158]polar art"
  5. 50 fori=1to3:sysp,10+i*2,5:printi"[157]. "d$(i):next
  6. 60 sysp,23,10:print"your selection? "
  7. 70 geta$:ifa$=""then70
  8. 80 a=val(a$):ifa<1ora>3thengosub290:goto40
  9. 90 n1=0:n2=0:r1=0:r2=0:printcl$:sysp,3,15:printd$(a):onagoto100,180,270
  10. 100 sysp,10,0:print"you must enter values for n,r1, and r2."
  11. 110 print:print"the sum of r1+r2 must be <= 135."
  12. 120 sysp,20,5:input"n,r1,r2";n1,r1,r2:gosub400:ift>135thengosub280:goto90
  13. 130 gosub310:gosub380:foran=0tofsteps:rp=r1+r2*sin(n1*an):gosub350
  14. 140 geta$:ifa$<>""thenan=f:goto260
  15. 150 next:gosub360
  16. 160 geta$:ifa$=""then160
  17. 170 goto260
  18. 180 sysp,10,2:print"you must enter values for":printtab(2)"n1,n2,r1, and r2."
  19. 190 sysp,13,2:print"the sum of r1+r2 must be <= 135."
  20. 200 sysp,20,5:input"n1,n2,r1,r2";n1,n2,r1,r2
  21. 210 gosub400:ift>135thengosub280:goto90
  22. 220 gosub310:gosub380:foran=0tofsteps:rp=r1*sin(n1*an)+r2*sin(n2*an)
  23. 230 gosub350:geta$:ifa$<>""thenan=f:goto260
  24. 240 next:gosub360
  25. 250 geta$:ifa$=""then250
  26. 260 poke53265,peek(53265)and223:poke53272,21:goto40
  27. 270 sys58260
  28. 280 sysp,23,2:print"incorrect data entry - try again"
  29. 290 fori=1to10:pokedc+24,15:forj=1to3:next
  30. 300 pokedc+24,0:forj=1to2:next:next:fori=0to300:next:return
  31. 310 printcl$:sysp,12,5:print"press any key to end drawing"
  32. 320 sysp,13,5:print"and return to menu.":fori=0to2000:next
  33. 330 poke53272,peek(53272)or8
  34. 340 syscb:syscn,bc+16*cc:poke53265,peek(53265)or32:return
  35. 350 syspr,xs+rp*cos(an),ys+sf*rp*sin(an):return
  36. 360 pokedc+24,15:pokedc+1,110:pokedc+5,9:pokedc+6,9:pokedc+4,17:pokedc+4,16
  37. 370 return
  38. 380 s=.04-(n1+n2)*.0015-t*.00005:ifs<.005thens=.005
  39. 390 return
  40. 400 t=abs(r1)+abs(r2):return
  41. 410 data 32,253,174,32,158,173,32,170,177,140,60,3,141,61,3,32,253,174,32
  42. 420 data 158,173,32,170,177,140,62,3,173,62,3,74,74,74,141,63,3,173,61,3,74
  43. 430 data 173,60,3,106,74,74,141,64,3,173,62,3,41,7,141,65,3,173,60,3,41,7,141
  44. 440 data 66,3,169,7,56,237,66,3,141,66,3,169,0,141,67,3,141,68,3,174,63,3,240
  45. 450 data 20,24,169,64,109,67,3,141,67,3,169,1,109,68,3,141,68,3,202,208,236
  46. 460 data 234,169,0,141,70,3,173,64,3,141,69,3,14,69,3,46,70,3,14,69,3,46,70,3
  47. 470 data 14,69,3,46,70,3,169,0,133,251,169,32,133,252,24,165,251,109,67,3,133
  48. 480 data 251,165,252,109,68,3,133,252,24,165,251,109,69,3,133,251,165,252,109
  49. 490 data 70,3,133,252,24,165,251,109,65,3,133,251,165,252,105,0,133,252,169,1
  50. 500 data 174,66,3,240,4,10,202,208,252,141,71,3,160,0,177,251,13,71,3,145,251
  51. 510 data 96,162,32,169,0,133,251,138,133,252,160,0,169,0,145,251,200,208,251
  52. 520 data 232,224,63,208,239,169,0,133,251,169,63,133,252,160,0,169,0,145,251
  53. 530 data 200,192,64,208,249,96,32,253,174,32,158,173,32,170,177,152,160,0,153
  54. 540 data 0,4,153,250,4,153,244,5,153,238,6,200,192,250,208,239,96,32,43,193
  55. 550 data 132,251,32,43,193,166,251,76,240,255,32,253,174,32,158,173,32,170
  56. 560 data 177,96,art i,art ii,quit
  57.